	/**
	 * Objet est la classe représentant un objet
	 * @author smathomeutbm
	 * @version 1.0
	 */
public class Objet {
	
    private String nomObjet;
    private boolean etat;
    private boolean verrou;
    
	/**
     * Constructeur par défaut
     */
    public Objet() {
        nomObjet = "";
        etat = false;
        verrou = false;
    }
    
	/**
     * Constructeur avec paramètres
     * @param nomObjet Nom de l'objet
     * @param etat État de l'objet (on/off)
     */
    public Objet(String nomObjet, boolean etat) {
        this.nomObjet = nomObjet;
        this.etat = etat;
        this.verrou = false;
    }
    
	/**
     * Récupérer le nom de l'objet
     * @return Nom de l'objet
     */
    public String getNomObjet() {
        return nomObjet;
    }
    
	/**
     * Récupérer l'état de l'objet
     * @return L'état de l'objet
     */
    public boolean getEtat() {
        return etat;
    }
    
	/**
     * Récupérer l'état de verrouillage de l'objet
     * @return L'état de verrouillage de l'objet
     */
    public boolean getVerrou() {
        return verrou;
    }
    
	/**
     * Changer le nom de l'objet
     * @param nomObjet Nouveau nom de l'objet
     */
    public void setNomObjet(String nomObjet) {
        this.nomObjet = nomObjet;
    }
    
	/**
     * Changer l'état de l'objet
     * @param etat Nouvelle état de l'objet de l'objet
     */
    public void setEtat(boolean etat) {
        this.etat = etat;
    }
    
	/**
     * Changer l'état de verrouillage de l'objet
     * @param verrou Nouvelle état de verrouillage de l'objet
     */
    public void setVerrou(boolean verrou) {
        this.verrou = verrou;
    }
    
	/**
     * Inverse l'état de l'objet
     * @return True si l'inversement a été effectué
     */
    public boolean modifierEtat() {
        if(etat)
            etat = false;
        else
            etat = true;
        return true;
    }
    
	/**
     * Inverse l'état de verrouillage de l'objet
     * @return True si l'inversement a été effectué
     */
    public boolean switchLockEtat() {
        if(verrou)
            verrou = false;
        else
            verrou = true;
        return true;
    }
    
	/**
     * String de Capteur
     * @return Chaîne
     */
	public String toString() {
		String[] name = nomObjet.split("_");
		return name[0] + " : " + ((etat) ? "on" : "off");
	}
	
	/**
     * Chaîne XML correspondant à l'objet
     * @return Chaîne xml
     */
	public String xml() {
		String[] name = nomObjet.split("_");
		return "\t\t<objet name=\"" + name[0] + "\" etat=\"" + etat + "\" />\n";
	}
}
